<?php 
/////////////////////////////////////////////////////////////////////////////
// 
//
// workflow_system 
//
// workflow_copyright
// 
/////////////////////////////////////////////////////////////////////////////

/**
 * FILE_NAME : up_price.class.php   FILE_PATH : E:\www\\trunk\classes\application\up_price.class.php
 * ....自动加价操作
 *
 * @copyright workflow_system 
 * @author workflow Develop Team 
 * @package 
 * @subpackage 
 * @version Tue Feb 03 09:59:18 CST 2009
 */

class UpPriceClass extends FrameWork {
	/**
	 * 得到加价列表
	 * 
	 * @param  
	 * @return array 加价列表
	 */
	function getUpPriceList(&$obj_page){
		
		$condition_str = "";
		$subsql = $this->_conditionSearch($condition_str);
		$up_array = $GLOBALS['db']->GetList($subsql, $obj_page, "increments");
		
		return $up_array;
	}
	/**
	 * 添加新的价格增幅
	 * 
	 * @param  var[] $input_param 价格增幅信息
	 * @return bool
	 */
	function addUpPrice($input_param){
		$value_array = array();
		$value_array['i_low'] = $input_param['i_low'];//价格区间下限
		$value_array['i_high'] = $input_param['i_high'];//价格区间上限
		$value_array['increment'] = $input_param['increment'];//增加幅度
		$insert_rs = $GLOBALS['db']->InsertRow($value_array, 'increments', 'i_id');
		return $insert_rs;
				
	}
	
	/**
	 * 取得指定ID的增幅信息
	 * 
	 * @param  $i_id 增幅信息ID
	 * @return int/bool/object/array
	 */
	function getPriceById($i_id){
		$array = $GLOBALS['db']->GetOneRow($i_id,'increments','i_id');
		return $array;
	}
	
	/**
	 * 保存修改后的增幅信息
	 * 
	 * @param  
	 * @return bool
	 */
	function updateUpPrice($input_param){
		$modify_id = $input_param['i_id'];
		$value_array = array();
		$value_array['i_low'] = $input_param['i_low'];
		$value_array['i_high'] = $input_param['i_high'];
		$value_array['increment'] = $input_param['increment'];
		$update_rs = $GLOBALS['db']->UpdateRow($modify_id,$value_array,"increments","i_id");
		return $update_rs;
	}
	
	/**
	 * 删除增幅信息
	 * 
	 * @param  $i_id 信息ID
	 * @return bool
	 */
	function delUpPrice($i_id){
		if (intval($i_id) > 0){
			return $GLOBALS['db']->DelRow(intval($i_id),"increments","i_id");
		}else {
			return false;
		}
	}
	
	/**
	 * 构造属性检索条件
	 *
	 * @param object $obj_condition 查询条件对象
	 * @return string $conditionStr 返回查询条件SQL字符串
	 */
	function _conditionSearch($obj_condition=""){
		$conditionStr = "";

		if($obj_condition->order == 1){
			$conditionStr .= " order by i_low desc";
		}else{
			$conditionStr .= " order by i_low";
		}
		return $conditionStr;
	}
	
	/**
	 * 取商品加价幅度
	 * @author workflow Develop Team     
	 * @param  $price 商品价格
	 * @return int/bool/object/array
	 */
	function getIncrementUpprice($price){
		//加价区间
		$up_array = $this->getUpPriceList($page);
		//计算当前价格的加价幅度
		if (is_array($up_array)){
			foreach ($up_array as $k => $v){
				if ($price >= $v['i_low'] && $price <= $v['i_high']) {
					return $v['increment'];
				}
			}
			//如果不存在加价幅度，那么就取最大的或者最小的加价幅度
			if ($price < $up_array[0]['i_low']){//最小幅度
				return $up_array[0]['increment'];
			}
			if ($price > $up_array[count($up_array)-1]['i_high']){//最大幅度
				return $up_array[count($up_array)-1]['increment'];
			}
		}else {
			return false;
		}
	}
}
?>